package cn.itcast.common.config;

import lombok.Data;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
/**
 * Java配置方式注入bean
 */
//声明这是个配置类
@Configuration
//引入properties文件通过前缀找到配置项
//@ConfigurationProperties(prefix = "http.config")
@Data
public class BeanConfig {
    /*
    注入一个bean
    RestTemplate基于http原理调远程接口
    Nacos注册中心比Eureka注册中心可配置选项多很多，所以建议用Nacos注册中心
    */
    @Bean
//    @LoadBalanced //restTemplate使用负载均衡调接口，没有导入这个ribbon负载均衡注解的话调接口不能用注册中心服务名只能写链接直调，开启负载均衡,需要引入openfeign包才可使用这个注解,feign里面内置了ribbon作负载均衡，内置了几种负载均衡算法
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

    /*负载均衡算法规则
    ribbon负载均衡规则需要倒入Eureka包，所以这里没导包会报错
    */
//    @Bean
//    public IRule iRule(){
//        //默认为轮询规则，这里自定义为随机规则
//        return new RandomRule();
//    }
}
